package cn.iocoder.yudao.module.enterprise.dal.dataobject.enterpriseCurriculumVitae;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import cn.iocoder.yudao.module.enterprise.dal.dataobject.studentEducationalExperience.EnterpriseStudentEducationalExperienceDO;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.util.Date;
import java.util.List;

/**
 * 用户简历 DO
 *
 * @author 周枫皓
 */
@TableName("member_student_curriculum_vitae")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class EnterpriseCurriculumVitaeDO extends BaseDO {

    /**
     * 用户id
     */
    @TableId
    private Long id;

    /**
     * 简历名称
     */
    private String name;

    /**
     * 学生id
     */
    private Long studentId;
    /**
     * 学生姓名
     */
    private String studentName;
    /**
     * 学生大头照
     */
    private String studentPictureUrl;
    /**
     * 当前身份
     */
    private String identify;
    /**
     * 性别
     *
     * 枚举 {@link TODO system_user_sex 对应的类}
     */
    private String sex;
    /**
     * 简历公开状态
     *
     * 枚举 {@link TODO infra_boolean_string 对应的类}
     */
    private String publicStatus;
    /**
     * 政治面貌
     */
    private String political;
    /**
     * 出生日期
     */
    private Date birthday;
    /**
     * 居住城市
     */
    private String liveCity;
    /**
     * 毕业时间
     */
    private Date graduateTime;
    /**
     * 籍贯
     */
    private String nativePlace;
    /**
     * 名族
     */
    private String clan;
    /**
     * 手机号码
     */
    private String phoneNumber;
    /**
     * 邮箱
     */
    private String email;
    /**
     * 大学名称
     */
    private String universityName;
    /**
     * 所学专业
     */
    private String specialty;
    /**
     * 学历
     */
    private String education;

    /**
     * 学历
     */
    private int educationLeve;
    /**
     * 年级
     */
    private String grade;
    /**
     * 是否有学位证书
     *
     * 枚举 {@link TODO infra_boolean_string 对应的类}
     */
    private String diploma;
    /**
     * 在校开始日期
     */
    private Date universityStartDate;
    /**
     * 在校结束日期
     */
    private Date universityEndDate;
    /**
     * 期望行业(可能多个)
     */
    private String targetIndustry;
    /**
     * 期望城市
     */
    private String targetCity;
    /**
     * 最低薪资
     */
    private Integer lowestSalary;
    /**
     * 最高薪资
     */
    private Integer highestSalary;
    /**
     * 已修课程json
     */
    private String courses;
    /**
     * 工作/实习经历json
     */
    private String workExperience;
    /**
     * 项目经历json
     */
    private String projectExperience;
    /**
     * 语言能力json
     */
    private String languageAbility;
    /**
     * 专业技能json
     */
    private String specialtyAbility;
    /**
     * 证书json
     */
    private String certificates;
    /**
     * 社会实践/活动经历json
     */
    private String practiceExperience;

    private String internshipDesire;

    private List<EnterpriseStudentEducationalExperienceDO>  educationalExperience;

    @TableField(exist = false)
    private String inJobTime;
    @TableField(exist = false)
    private String jobStatus;
    @TableField(exist = false)
    private Integer collectStatus;
    @TableField(exist = false)
    private String remarks;
}
